Jump To:
Technical Q&As
Darwin is the open source UNIX-based foundation of Mac OS X. Darwin integrates a number of technologies. Among the most important are the Mach 3.0 microkernel operating-system services, based on 4.4BSD (Berkeley Software Distribution), the high-performance networking facilities, and the support for multiple integrated file systems. Darwin also includes a number of command-line tools. Mac OS X developers can use Darwin to port UNIX/Linux applications and to create kernel extensions.

Darwin Resources
A guided introduction and learning path for developers new to Darwin.   Essential information for developers working in the kernel environment.   Descriptions of application programming interface elements for Darwin and kernel-resident device drivers.
Darwin Topics
View the complete Darwin Technical Q&As List.
Open source programming interfaces that support access to devices.   Low-level programming interfaces for acccessing and getting information about files and directories.   The most fundamental layer of the Mac OS X operating system. Developers do not program in the kernel unless absolutely necessary, because kernel bugs can reduce system stability.

Low-level open source networking and communication technologies.   Open source technologies, including Darwin, WebCore, and Streaming Server.   Tools, techniques, and programming interfaces for measuring, evaluating, and improving Darwin code performance.

Low-level porting information related to Darwin (the open source foundation of Mac OS X, based on 4.4BSD UNIX).   Printing technologies in the open source foundation of Mac OS X.   Low-level (Darwin) facilities for programs to help manage their own scheduling and execution.

Low-level support for locating, loading, and using, within an application, various sorts of resources, including memory allocations, feature availability information, and localized strings.   Programming techniques that developers can use at the Darwin or core OS level to build security into their products.   Open source developer tools, including GCC and GDB.

View legacy technologies, including technologies, features, products, APIs, and programming techniques that are no longer supported or have been superseded.